/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package javabeans;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 *
 * @author Administrador
 */
public class JBFuncion {

    private int id;
    private Date fecha;
    private int hora;
    private int minutos;
    private int duracion;
    private int capacidad;
    private JBCine cine;
    private JBSala sala;

    public JBFuncion() {
        this.id = 0;
        this.fecha = Calendar.getInstance().getTime();
        this.hora = 0;
        this.minutos = 0;
        this.duracion = 0;
        this.capacidad = 0;
        cine = new JBCine();
        sala = new JBSala();
    }

    public int getCapacidad() {
        return capacidad;
    }

    public void setCapacidad(int capacidad) {
        this.capacidad = capacidad;
    }

    public int getDuracion() {
        return duracion;
    }

    public void setDuracion(int duracion) {
        this.duracion = duracion;
    }

    public Date getFecha() {
        return getFechaCompleta(fecha);
    }

    public void setFecha(Date fecha) {
        this.fecha = fecha;
        this.fecha = setFechaCompleta(this.fecha);
    }

    public int getHora() {
        return hora;
    }

    public void setHora(int hora) {
        this.hora = hora;
    }

    public int getMinutos() {
        return minutos;
    }

    public void setMinutos(int minutos) {
        this.minutos = minutos;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public JBCine getCine() {
        return cine;
    }

    public void setCine(JBCine cine) {
        this.cine = cine;
    }

    public JBSala getSala() {
        return sala;
    }

    public void setSala(JBSala sala) {
        this.sala = sala;
    }

    private Date setFechaCompleta(Date fecha) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(fecha);
        calendar.add(Calendar.HOUR_OF_DAY, this.hora);
        calendar.add(Calendar.MINUTE, this.minutos);
        fecha = calendar.getTime();

        return fecha;
    }

    private Date getFechaCompleta(Date fecha) {
        DateFormat df = new SimpleDateFormat("dd/MM/yyyy HH:mm");
        try {
            fecha = df.parse(fecha.toString());
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(fecha);
            calendar.add(Calendar.HOUR, this.hora);
            calendar.add(Calendar.MINUTE, this.minutos);
            fecha = calendar.getTime();

        } catch (ParseException exc) {
        }
        return fecha;
    }
}
